#include "process.h"

#include <string.h>
#include <unistd.h>

#define NUM 101
#define STYLE '='

void FlushProcess(double total,double current)
{
    char buffer[NUM];
    memset(buffer,0,sizeof(buffer));

    const char* lable="|/-\\";
    int len=strlen(lable);

    static int cnt=0;
    int num=(int)(current*100/total);
    int i=0;
    for(i=0;i<num;i++)
    {
        buffer[i]=STYLE;
    }

    double rate=current/total;
    cnt%=len;
    printf("[%-100s][%.1lf/%][%c]\r",buffer,rate*100,lable[cnt]);
    cnt++;
    fflush(stdout);


}





void process_v1()
{
    char buffer[NUM];
    memset(buffer,0,sizeof(buffer));

    const char* lable="|/-\\";
    int len=strlen(lable);
    int cnt=0;
    while(cnt<=100)
    {
        printf("[%-100s][%d/%][%c]\r",buffer,cnt,lable[cnt%len]);
        fflush(stdout);

        buffer[cnt]=STYLE;
        cnt++;

        usleep(50000);
    }

    printf("\n");
}
